package com.china08.yxyapi.entity.mg.paper;

import java.util.Map;

import javax.persistence.Id;

import org.springframework.data.mongodb.core.index.Indexed;
import org.springframework.data.mongodb.core.mapping.Document;
import org.springframework.data.mongodb.core.mapping.Field;

import com.china08.yxyapi.entity.mg.MongoBaseEntityNoId;

/**
 * The Class TestPaper.
 */
@SuppressWarnings("serial")
@Document(collection = "yxy.tea.paper")
public class Paper extends MongoBaseEntityNoId {

    /** The id. */
    @Id
    private String id;

    /** The title. 主标题 */
    @Field("title")
    public String title;

    /** The title. 主标题 */
    @Field("title_flag")
    public Integer titleFlag;

    /** The sub title.副标题 */
    @Field("sub_title")
    public String subTitle;

    /** The sub title.副标题 */
    @Field("sub_title_flag")
    public Integer subTitleFlag;

    /** The binding. 装订线 */
    @Field("binding_flag")
    public Integer bindingFlag;

    /** The secret line. 保密标记 */
    @Field("secret_line_flag")
    public Integer secretLineFlag;

    /** The paper info.试卷信息栏 */
    @Field("paper_info")
    public String paperInfo;

    /** The paper info.试卷信息栏 */
    @Field("paper_info_flag")
    public Integer paperInfoFlag;

    /** The student column.考生输入栏 */
    @Field("student_column")
    public String studentColumn;

    /** The student column.考生输入栏 */
    @Field("student_column_flag")
    public Integer studentColumnFlag;

    /** The score column.誉分栏 */
    @Field("score_column_flag")
    public Integer scoreColumnFlag;

    /** The attention. 注意事项 */
    @Field("attention_flag")
    public Integer attentionFlag;

    /** The paper annotation.分卷及注释 */
    @Field("paperAnnotation")
    public Map<Integer, String> paperAnnotation;

    /** The paper annotation.分卷及注释 */
    @Field("paperAnnotationFlag")
    public Integer paperAnnotationFlag;

    /** The question annotation. 大题注释及分数 */
    @Field("questionAnnotation")
    public Map<Integer, String> questionAnnotation;

    /** The question annotation. 大题注释及分数 */
    @Field("questionAnnotationFlag")
    public Integer questionAnnotationFlag;

    /** The question score. 大题评分区 */
    @Field("questionScoreFlag")
    public Integer questionScoreFlag;

    /** The user id. */
    @Indexed
    @Field("user_id")
    private String userId;

    /** The user nick. */
    @Field("user_nick")
    private String userNick;

    /** The school id. */
    @Field("school_id")
    private String schoolId;

    /** The school nick. */
    @Field("school_nick")
    private String schoolNick;

    /** 学段id. */
    @Field("phase_id")
    private String phaseId;

    /** 学段名称. */
    @Field("phase_name")
    private String phaseName;

    /** 学科id. */
    @Field("subject_id")
    private String subjectId;

    /** 学科名称. */
    @Field("subject_name")
    private String subjectName;

    /** 版本id. */
    @Field("version_id")
    private String versionId;

    /** 版本名称. */
    @Field("version_name")
    private String versionName;

    /** 学期id. */
    @Field("semester_id")
    private String semesterId;

    /** 学期名称，一年级上册，必修，选修. */
    @Field("semester_name")
    private String semesterName;

    /** 目录id. */
    @Field("bookcontents_id")
    private String bookcontentsId;

    /** The bookcontents name. */
    @Field("bookcontents_Name")
    private String bookcontentsName;

    /** 是否分享 0——私有 1——分享. */
    @Field("share")
    private Integer share = 0;

    /** 使用次数. */
    @Field("used_count")
    private Long usedCount = 0l;

    /** 状态 1-正常上架 0-下架. */
    @Field("status")
    private Integer status = 1;

    /** 浏览次数. */
    @Field("pv")
    private Long pv = 0L;

    /**
     * 采纳,使用次数
     */
    @Field("used")
    private Long used = 0l;

    /**
     * 下载次数
     */
    @Field("download_count")
    private Long downloadCount = 0l;

    // 评分
    @Field("mark")
    private float mark = 0f;

    public String getId() {
        return id;
    }

    public void setId(String id) {
        this.id = id;
    }

    public String getTitle() {
        return title;
    }

    public void setTitle(String title) {
        this.title = title;
    }

    public Integer getTitleFlag() {
        return titleFlag;
    }

    public void setTitleFlag(Integer titleFlag) {
        this.titleFlag = titleFlag;
    }

    public String getSubTitle() {
        return subTitle;
    }

    public void setSubTitle(String subTitle) {
        this.subTitle = subTitle;
    }

    public Integer getSubTitleFlag() {
        return subTitleFlag;
    }

    public void setSubTitleFlag(Integer subTitleFlag) {
        this.subTitleFlag = subTitleFlag;
    }

    public Integer getBindingFlag() {
        return bindingFlag;
    }

    public void setBindingFlag(Integer bindingFlag) {
        this.bindingFlag = bindingFlag;
    }

    public Integer getSecretLineFlag() {
        return secretLineFlag;
    }

    public void setSecretLineFlag(Integer secretLineFlag) {
        this.secretLineFlag = secretLineFlag;
    }

    public String getPaperInfo() {
        return paperInfo;
    }

    public void setPaperInfo(String paperInfo) {
        this.paperInfo = paperInfo;
    }

    public Integer getPaperInfoFlag() {
        return paperInfoFlag;
    }

    public void setPaperInfoFlag(Integer paperInfoFlag) {
        this.paperInfoFlag = paperInfoFlag;
    }

    public String getStudentColumn() {
        return studentColumn;
    }

    public void setStudentColumn(String studentColumn) {
        this.studentColumn = studentColumn;
    }

    public Integer getStudentColumnFlag() {
        return studentColumnFlag;
    }

    public void setStudentColumnFlag(Integer studentColumnFlag) {
        this.studentColumnFlag = studentColumnFlag;
    }

    public Integer getScoreColumnFlag() {
        return scoreColumnFlag;
    }

    public void setScoreColumnFlag(Integer scoreColumnFlag) {
        this.scoreColumnFlag = scoreColumnFlag;
    }

    public Integer getAttentionFlag() {
        return attentionFlag;
    }

    public void setAttentionFlag(Integer attentionFlag) {
        this.attentionFlag = attentionFlag;
    }

    public Map<Integer, String> getPaperAnnotation() {
        return paperAnnotation;
    }

    public void setPaperAnnotation(Map<Integer, String> paperAnnotation) {
        this.paperAnnotation = paperAnnotation;
    }

    public Integer getPaperAnnotationFlag() {
        return paperAnnotationFlag;
    }

    public void setPaperAnnotationFlag(Integer paperAnnotationFlag) {
        this.paperAnnotationFlag = paperAnnotationFlag;
    }

    public Map<Integer, String> getQuestionAnnotation() {
        return questionAnnotation;
    }

    public void setQuestionAnnotation(Map<Integer, String> questionAnnotation) {
        this.questionAnnotation = questionAnnotation;
    }

    public Integer getQuestionAnnotationFlag() {
        return questionAnnotationFlag;
    }

    public void setQuestionAnnotationFlag(Integer questionAnnotationFlag) {
        this.questionAnnotationFlag = questionAnnotationFlag;
    }

    public Integer getQuestionScoreFlag() {
        return questionScoreFlag;
    }

    public void setQuestionScoreFlag(Integer questionScoreFlag) {
        this.questionScoreFlag = questionScoreFlag;
    }

    public String getUserId() {
        return userId;
    }

    public void setUserId(String userId) {
        this.userId = userId;
    }

    public String getUserNick() {
        return userNick;
    }

    public void setUserNick(String userNick) {
        this.userNick = userNick;
    }

    public String getSchoolId() {
        return schoolId;
    }

    public void setSchoolId(String schoolId) {
        this.schoolId = schoolId;
    }

    public String getSchoolNick() {
        return schoolNick;
    }

    public void setSchoolNick(String schoolNick) {
        this.schoolNick = schoolNick;
    }

    public String getPhaseId() {
        return phaseId;
    }

    public void setPhaseId(String phaseId) {
        this.phaseId = phaseId;
    }

    public String getPhaseName() {
        return phaseName;
    }

    public void setPhaseName(String phaseName) {
        this.phaseName = phaseName;
    }

    public String getSubjectId() {
        return subjectId;
    }

    public void setSubjectId(String subjectId) {
        this.subjectId = subjectId;
    }

    public String getSubjectName() {
        return subjectName;
    }

    public void setSubjectName(String subjectName) {
        this.subjectName = subjectName;
    }

    public String getVersionId() {
        return versionId;
    }

    public void setVersionId(String versionId) {
        this.versionId = versionId;
    }

    public String getVersionName() {
        return versionName;
    }

    public void setVersionName(String versionName) {
        this.versionName = versionName;
    }

    public String getSemesterId() {
        return semesterId;
    }

    public void setSemesterId(String semesterId) {
        this.semesterId = semesterId;
    }

    public String getSemesterName() {
        return semesterName;
    }

    public void setSemesterName(String semesterName) {
        this.semesterName = semesterName;
    }

    public String getBookcontentsId() {
        return bookcontentsId;
    }

    public void setBookcontentsId(String bookcontentsId) {
        this.bookcontentsId = bookcontentsId;
    }

    public String getBookcontentsName() {
        return bookcontentsName;
    }

    public void setBookcontentsName(String bookcontentsName) {
        this.bookcontentsName = bookcontentsName;
    }

    public Integer getShare() {
        return share;
    }

    public void setShare(Integer share) {
        this.share = share;
    }

    public Long getUsedCount() {
        return usedCount;
    }

    public void setUsedCount(Long usedCount) {
        this.usedCount = usedCount;
    }

    public Integer getStatus() {
        return status;
    }

    public void setStatus(Integer status) {
        this.status = status;
    }

    public Long getPv() {
        return pv;
    }

    public void setPv(Long pv) {
        this.pv = pv;
    }

    public Long getUsed() {
        return used;
    }

    public void setUsed(Long used) {
        this.used = used;
    }

    public Long getDownloadCount() {
        return downloadCount;
    }

    public void setDownloadCount(Long downloadCount) {
        this.downloadCount = downloadCount;
    }

    public float getMark() {
        return mark;
    }

    public void setMark(float mark) {
        this.mark = mark;
    }

}
